package com.example.config.db;

import java.lang.annotation.*;

import static com.example.config.db.DynamicDataSourceEnum.DEFAULT;

/**
 * 动态数据源注解
 *
 * @author zhaojk
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface TargetDataSource {
    /**
     * 指定的数据源（字符串格式）
     * 该值与{dsEnum}同时存在时优先使用{dsEnum}的值
     *
     * @return
     * @see TargetDataSource#dsEnum()
     * @deprecated 魔法值不利于开发，建议使用枚举
     */
    @Deprecated
    String name() default "";

    /**
     * 指定的数据源（枚举格式）
     *
     * @return
     */
    DynamicDataSourceEnum dsEnum() default DEFAULT;


}
